CassiniDev
Cassini for Developers and Testers:  http://cassinidev.codeplex.com
------------------------------------------------------------------------------------------

The goal of the CassiniDev project is to provide an open platform for developing a robust 
ASP.Net web server implementation that addresses many of the limitations and difficulties 
encountered when using Cassini and/or Visual Studio Development Server.

CassiniDev is suitable for use as a standalone WinForms GUI application, a console 
application, self hosting and in automated testing scenarios including continuous 
integration and as a 100% compatible drop-in replacement for the Visual Studio development 
server.


Highlights
------------------------------------------------------------------------------------------
* Full support for any IP address. Not limited to localhost.
** NOTE: Due to an intentional limitation in SimpleWorkerRequest, WCF content is not 
   servable on other than the loopback (localhost)
* HostName support with option to temporarily add hosts file entry.
* Port scan option. Dynamically assign an available port when specific port is not required 
  or known to be available.
* WaitOnPort: Length of time, in ms, to wait for specific port to become available.
* TimeOut: Length of time, in ms, to sit idle before stopping server.
* NTLM authentication support.
* Single file GUI and Console applications and a library assembly for in-process hosting.
* Painless self hosting of a full ASP.Net server implementation for applications and testing
  frameworks.
* Unlike Cassini and Visual Studio Development Server, CassiniDev supports a full compliment 
  of content types.
* Integrated request/response log and viewer to support debugging.
* Visual Studio 2008/2010 Development server drop-in replacement with all CassiniDev 
  enhancements.
* [insert your improvements here]



Please see http://cassinidev.codeplex.com/documentation for the latest documentation

------------------------------------------------------------------------------------------
System Requirements:
------------------------------------------------------------------------------------------
Users:
* .Net Framework 3.5sp1 or 4.0

Developers:
* .Net Framework 3.5sp1 or 4.0
* Visual Studio 2008/2010
 
------------------------------------------------------------------------------------------
New in CassiniDev v3.5.1.4/v4.0.1.4 beta 3
------------------------------------------------------------------------------------------
* CassiniDev is now 100% compatible with WebDeb.WebServer.exe and can be
  used as a drop-in debugging replacement for the Visual Studio development servers.
* Integrated traffic logging with viewer. If System.Data.SQLite is present, logs can be 
  persisted. Otherwise events are only captured when the log window is active.

 
System.Data.SQLite is required to enable persistent logging. You may obtain the 
latest version here:
http://sourceforge.net/projects/sqlite-dotnet2/files/SQLite%20for%20ADO.NET%202.0/

 
New in CassiniDev v3.5.1.0/v4.0.1.0 beta
------------------------------------------------------------------------------------------
* Added .Net 4 / VS10 build. 
* Simplified test fixtures. 
* Un-Refactored the not-so-simple MVP pattern to reduce code bloat and 
  complexity. 
* Added content-type support for a wide variety of files previously not 
  supported by Cassini. Thanks Zippy. 
 
New in CassiniDev v3.5.0.5
------------------------------------------------------------------------------------------
* Reintroduced the Lib project and signed all 
* Implemented the CassiniSqlFixture*  works great, as far as i can tell, just 
  whipped it up to support a test case and I like it, build a disposable sql 
  database, spin up a web server and shut it all down disposed. What's not to 
  like? 
* Fixed bug in Fixture: IPMode, PortMode, Timeout and WaitForPort were not being 
  set properly. 
* Reintroduced library project, set build events to build a binary release 
  directory for use as external for Salient.WebTest 
* Removed some faulty debug code and cleaned up a stupid last minute mistake 
  r.e. path 
* Fixed typo in readme. Quoted paths are allowed on command line, just be sure 
  to omit trailing slash or it will be interpreted as an escape. 
* Refactored to a simple MVP pattern with a simple Service Locator/Abstract 
  Factory class to facilitate testing. 

New in CassiniDev v3.5.0.4
------------------------------------------------------------------------------------------
* Added Cassini hosting Fixture and supporting classes to facilitate use of 
* CassiniDev in testing scenarios 
    While CassiniDev and CassiniDev-console may be referenced as a library it is 
    not recommended for testing scenarios.
    A fixture class has been provided (CassiniDev.Testing.Fixture) that reliably 
    hosts the console application in a separate process. 
* Include test projects demonstrating some possible scenarios for use of 
  CassiniDev in integration/interaction/smoke testing of web based resources. 

New in CassiniDev v3.5.0.3
------------------------------------------------------------------------------------------
* Improved command line parsing. 
* Console version added for use in headless processes 
    The console application can be run in a non-interactive session and requires 
    that all supplied arguments are valid for the process to start. 
    The GUI application will reject invalid arguments with a dialog notification 
    and present the UI for modification of arguments. 
* Both versions are standalone and require no GAC assembly. 
* Implemented arbitrary IP use including both IPv4 and IPv6 Any and Loopback. 
* Added port scanning to allow dynamic allocation of first available port in 
  specified range. 
* Added hosts file utility. CassiniDev can dynamically add a temporary hosts 
  file entry to allow dns resolution of application specific domains. 
* Implemented support for relative paths. 

Branched from Cassini v3.5.0.2
* -----------------------------------------------------------------------------------------
New in Cassini v3.5.0.2
------------------------------------------------------------------------------------------
* Fix for the default documents. 

New in Cassini v3.5.0.1
------------------------------------------------------------------------------------------
* Support for MVC friendly URLs (directory listing only overrides 404 responses 
  for directories) 

New in Cassini v3.5
------------------------------------------------------------------------------------------
* Runs as a single EXE* - does not require an assembly in GAC 
* Supported IPv6-only configurations 
* Upgraded to support .NET Framework 3.5 
* Includes VS project file 
* License changed to Ms-PL 

To Do:
------------------------------------------------------------------------------------------ 
* Test IPv6 functionality thoroughly. 
* Application virtual path and single app hosting limitations:
    I would like to see a scenario in which a virtual web directory can be 
    described as the hosting environment allowing pointers to shared resources 
    and perhaps multiple web applications. 
* Disabling directory browsing appears to be broken but I think it relates to the MVC
  friendly URL fix by Dmitry.